home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / archiver / mdcd10.zip / MDCD.DOC < prev    next >
Text File  |  1988-10-26  |  43KB  |  901 lines

  1.  
  2. MDCD Version 1.0 - 10/24/88 - File Compression and DeCompression Program
  3.  
  4.   This documentation is organized in the following order, under the
  5.   following headings:
  6.  
  7.       WHAT IS IT ?
  8.       WHAT ISN'T IT ?
  9.       WHY WAS IT WRITTEN ?
  10.       HOW CAN I USE IT ?
  11.       WHAT ARE THE RESTRICTIONS ?
  12.       CONCERN # 1
  13.       CONCERN # 2
  14.       CONCERN # 3
  15.       CONCERN # 4
  16.       MDCD GENERAL INFORMATION & FEATURES
  17.       MDCD COMPRESS OPTION
  18.       MDCD DECOMPRESS OPTIONS
  19.       MDCD LIST OPTIONS
  20.       MDCD FUTURE RELEASES
  21.       SOFTWARE DESCRIPTION
  22.       WRITING YOUR OWN PROGRAMS
  23.       THE COMPRESSION ALGORITHM
  24.       MISCELLANEOUS INFO
  25.       LIABILITY
  26.       DISCLAIMERS
  27.       ACKNOWLEDGEMENTS
  28.       WHERE CAN I GET THE MOST RECENT COPY OF THE SOFTWARE ?
  29.       WHERE CAN I CONTACT THE AUTHOR ?
  30.  
  31.  
  32. WHAT IS IT ?
  33.  
  34.               MDCD 1.0 is the first release of a file compression and
  35.               decompression program that compresses data using a 13 bit LZW
  36.               algorithm.  It was written in Turbo Pascal and requires the
  37.               Turbo Pascal 5.0 compiler.  Portions are written in 808x
  38.               assembler and require Turbo Assembler 1.0 or MASM 3.0+.
  39.  
  40.               It is not as fast as PKWARE products but compresses almost as
  41.               well.  It is significantly faster and compresses better than
  42.               the only version of ARC that I could find to compare it
  43.               against (version 5.20).
  44.  
  45.               It demonstrates some interesting differences when compared to
  46.               current file compression/decompression programs.  I will talk
  47.               about the differences in a bit, but first I want to talk
  48.               about what it is not...
  49.  
  50.  
  51. WHAT ISN'T IT ?
  52.  
  53.               It is not a replacement for PKWARE/SEA products.  It is not a
  54.               solution to the ARC wars that currently have (to mention a
  55.               few) BBS Sysops, telecommunications networks and PC users in
  56.               general in total disarray.  It is not meant to show off my
  57.               computer knowledge as I am terrible when it comes to math,
  58.               and have only a simplistic understanding of the compression
  59.               algorithm involved.
  60.  
  61.               You are probably asking yourself, "Then why was it written" ?
  62.               I shall explain...
  63.  
  64.  
  65. WHY WAS IT WRITTEN ?
  66.  
  67.               I write commercial PC software for a living.  This includes a
  68.               specialized communications program, a telephone call
  69.               accounting system and several clients that require low level
  70.               systems programming.  The communications program uses
  71.               compression in the process of preparing files for
  72.               transmission.  The call accounting system is rather large and
  73.               I need to reduce disk storage and increase reliability when
  74.               shipping and installing.  I also like to have an orderly
  75.               method of keeping track of various releases and revision
  76.               levels of this software.
  77.  
  78.               I did not want to pay an exorbitant fee to license
  79.               compression technology from a third party.  Not only is this
  80.               cost prohibitive for someone trying to make a simple living,
  81.               but it is nearly impossible to get
  82.               something that can be tailored to ones own needs.  You are
  83.               stuck with a program that more than likely requires more disk
  84.               space, or gobbles up more quantities of memory than you care
  85.               to relinquish.
  86.  
  87.               So, I wrote my own.  It is written for my needs.  It uses
  88.               minimal memory.  It requires no disk work area.  It allows me
  89.               to remember the exact path that a file was compressed from.
  90.               It lets me store comments about the file.  It lets me keep
  91.               duplicate file names in a compressed file, retaining their
  92.               real-time chronological order.  It lets me remember the
  93.               original file's date, time and size.  It allows me to retain
  94.               a file's original attributes so that if it is a hidden,
  95.               system, read only file before compression, it will be
  96.               likewise after.  It allows me to simply group files together
  97.               in a single area and doesn't waste time trying to compress
  98.               already compressed .ARC or .ZOO files.  It serves my exact
  99.               needs and is written for me, a commercial software author, to
  100.               facilitate control and distribution of software.
  101.  
  102.               I wrote it for one other express purpose.  I continually grow
  103.               in my programming abilities.  I have been programming
  104.               computers for over 20 years and can't think of any period in
  105.               my career where I wasn't constantly increasing my knowledge
  106.               and awareness of current computer technology.  This has
  107.               happened at a fairly logical pace for most of my programming
  108.               life...  Until I discovered the crazy world of
  109.               telecommunications/public domain/shareware/BBS'ing/networks in
  110.               the sky/etc./etc.
  111.  
  112.               This crazy world has increased my knowledge, solved my
  113.               day-to-day technical problems, provided my with one heck of a
  114.               lot of fun and exposed me to computer technology at a rate I
  115.               would never have believed possible.  I have learned from the
  116.               generosity of others sharing their knowledge, experience and
  117.               brilliance and I want to attempt to repay that in kind.
  118.  
  119.               "So", you ask yourself, "how can I use this software?"
  120.  
  121.  
  122. HOW CAN I USE IT ?
  123.  
  124.               You can use it in any way that it serves your needs, providing
  125.               you adhere to a couple of restrictions I will talk about in a
  126.               minute.  I am including all of the source code.  If you are a
  127.               shareware, or commercial software author, you could probably
  128.               use it in many of the ways I mentioned above.  Some ideas that
  129.               come to mind:
  130.  
  131.               A communications program compression of files prior to
  132.               transmission.  Graphics compression while saving to disk.
  133.               Word processor document compression.  Distributing products
  134.               in compressed format and reliably determining a successful
  135.               installation.  Personal file compression program.
  136.               Maintaining version/release control of software products,
  137.               word processing documents, or just about anything.  To
  138.               mention a few!
  139.  
  140.               "Hmmmmm, sounds like I could use this, but what ARE those
  141.               restrictions ?"
  142.  
  143.  
  144. WHAT ARE THE RESTRICTIONS ?
  145.  
  146.               I toyed with the idea of copyrighting this software.  I
  147.               wanted to somehow have a means to control the few
  148.               restrictions & requests that I had decided on.  But that
  149.               seemed kind of silly, and basically unenforceable.  I was
  150.               modifying a brilliant algorithm (which I do not understand),
  151.               written by someone else (who had placed the code in the
  152.               public domain) and adding some simple stuff to move some
  153.               files around and keep track of basic information.  And on top
  154.               of that I was releasing the source to the general public,
  155.               virtually no strings attached!  I figured that I would get
  156.               thrown out by any court trying to decide if my copyright was
  157.               enforceable, especially if the proprietary source code was
  158.               made available to all.  So...  NO COPYRIGHT.
  159.  
  160.               I have three restrictions.  All are unenforceable legally, one
  161.               is enforceable morally, the other two are enforceable by virtue
  162.               of the media in which this is distributed.
  163.  
  164.               Restriction 1:  If you use this code as part of a product that
  165.               you gain monetarily from, I will be considered a "registered"
  166.